package svc

import (
	"algo-sdk-go/project/matchmaking/application/service"
	"algo-sdk-go/project/matchmaking/matchMaking-api/config"
)

type ServiceContext struct {
	Config                       *config.Config
	MatePreferenceService        *service.MatePreferenceService
	UserProfileService           *service.UserProfileService
	LoginService                 *service.LoginService
	UnverifiedUserProfileService *service.UnverifiedUserProfileService
	MatchService                 *service.MatchService
	CommonService                *service.CommonService
}

func NewServiceContext(c *config.Config, matePreferenceService *service.MatePreferenceService,
	unverifiedUserProfileService *service.UnverifiedUserProfileService,
	userProfileService *service.UserProfileService, matchService *service.MatchService,
	commonService *service.CommonService, loginService *service.LoginService) *ServiceContext {
	return &ServiceContext{
		Config:                       c,
		MatePreferenceService:        matePreferenceService,
		UserProfileService:           userProfileService,
		LoginService:                 loginService,
		UnverifiedUserProfileService: unverifiedUserProfileService,
		MatchService:                 matchService,
		CommonService:                commonService,
	}
}
